package IOStream.CopyFileDome;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * ClassName:Dome002
 * Package:IOStream.CopyFileDome
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/28-20:13
 * @Version:v1.0
 */
public class Dome002 {
    /**
     * IO流：如果拷贝的文件过大,那么速度会不会有影响——慢
     * 弊端：FileOutputStream 一次读写一个字节
     * <p>
     * FileOutputStream一次读取多个字节
     * public int read() 一次读一个字节数据
     * public int read(byte[] buffer) 一次读一个字节数组数据
     * <p>
     * 注意：一次读一个字节数组的数据,每次读取会尽可能把数组装满
     * <p>
     * 1024*1024*5
     */
    public static void main(String[] args) throws IOException {
        //创建对象
        FileInputStream fis = new FileInputStream("E:\\aaa\\a.txt");
        //读取数据
        byte[] bytes = new byte[2];
        //一次读取多个字节,具体读多少,跟数组的长度有关
        //返回值：本次读取到了多少个字节数据
        int len1 = fis.read(bytes);
        String str1 = new String(bytes,0,len1);
        System.out.println(str1);

        int len2 = fis.read(bytes);
        String str2 = new String(bytes,0,len1);
        System.out.println(str2);

        int len3 = fis.read(bytes);
        String str3 = new String(bytes,0,len3);
        System.out.println(str3);

//        int len4= fis.read(bytes);
//        String str4 = new String(bytes,0,len4);
//        System.out.println(str4);
        //释放资源
        fis.close();
//        FileOutputStream fos = new FileOutputStream("E:\\aaa\\bbb\\copy1.txt");
    }
}
